package ophiux.wechatpay.sdk.response;

import ophiux.wechatpay.sdk.common.parse.FieldKey;

/**
 * 查询退款   	返回参数 
 * <br/>请求地址:
 * <br/><h1>创建人: hehailong</h1><br/>
 * 创建时间：2017-7-7下午3:30:02<br/>
 * 修改记录1：
 */
public class RefundQueryResponse extends OphiuxResponse {
	
	//以下字段在return_code为SUCCESS的时候有返回
	//字段名	变量名	必填	类型	示例值	描述
	@FieldKey("transaction_id")
	private String transaction_id;//微信订单号 		transaction_id 是 String(32) 1217752501201407033233368018 微信订单号 
	@FieldKey("out_trade_no")
	private String out_trade_no;//商户订单号	 out_trade_no 是 String(32) 1217752501201407033233368018 商户系统内部订单号，要求32个字符内，只能是数字、大小写字母_-|*@ ，且在同一个商户号下唯一。 
	@FieldKey("total_fee")
	private String total_fee;//订单金额	 total_fee 是 Int 100 订单总金额，单位为分，只能为整数，详见支付金额 
	@FieldKey("settlement_total_fee")
	private String settlement_total_fee;//应结订单金额 	settlement_total_fee  否 Int 100  当订单使用了免充值型优惠券后返回该参数，应结订单金额=订单金额-免充值优惠券金额。  
	@FieldKey("fee_type")
	private String fee_type;//货币种类 	fee_type 否 String(8) CNY 订单金额货币类型，符合ISO 4217标准的三位字母代码，默认人民币：CNY，其他值列表详见货币类型 
	@FieldKey("cash_fee")
	private String cash_fee;//现金支付金额 	cash_fee 是 Int 100 现金支付金额，单位为分，只能为整数，详见支付金额 
	@FieldKey("refund_count")
	private String refund_count;//退款笔数	 refund_count 是 Int 1 退款记录数 
	@FieldKey("out_refund_no_$n")
	private String out_refund_no_$n;//商户退款单号	 out_refund_no_$n 是 String(32) 1217752501201407033233368018 商户系统内部的退款单号，商户系统内部唯一，只能是数字、大小写字母_-|*@ ，同一退款单号多次请求只退一笔。 
	@FieldKey("refund_id_$n")
	private String refund_id_$n;//微信退款单号	 refund_id_$n 是 String(32) 1217752501201407033233368018 微信退款单号 
	@FieldKey("refund_channel_$n")
	private String refund_channel_$n;//退款渠道 	refund_channel_$n 否 String(16) ORIGINAL  ORIGINAL—原路退款    BALANCE—退回到余额     OTHER_BALANCE—原账户异常退到其他余额账户   OTHER_BANKCARD—原银行卡异常退到其他银行卡
	@FieldKey("refund_fee_$n")
	private String refund_fee_$n;//申请退款金额	 refund_fee_$n 是 Int 100 退款总金额,单位为分,可以做部分退款 
	@FieldKey("settlement_refund_fee_$n")
	private String settlement_refund_fee_$n;//退款金额	 settlement_refund_fee_$n 否 Int 100 退款金额=申请退款金额-非充值代金券退款金额，退款金额<=申请退款金额 
	@FieldKey("coupon_type_$n")
	private String coupon_type_$n;//代金券类型  	coupon_type_$n  否  String CASH   CASH--充值代金券    NO_CASH---非充值优惠券  开通免充值券功能，并且订单使用了优惠券后有返回（取值：CASH、NO_CASH）。$n为下标,从0开始编号，举例：coupon_type_$0
	@FieldKey("coupon_refund_fee_$n")
	private String coupon_refund_fee_$n;//总代金券退款金额 	coupon_refund_fee_$n 否 Int 100 代金券退款金额<=退款金额，退款金额-代金券或立减优惠退款金额为现金，说明详见代金券或立减优惠 
	@FieldKey("coupon_refund_count_$n")
	private String coupon_refund_count_$n;//退款代金券使用数量 	coupon_refund_count_$n 否 Int 1 退款代金券使用数量 ,$n为下标,从0开始编号 
	@FieldKey("coupon_refund_id_$n_$m")
	private String coupon_refund_id_$n_$m;//退款代金券ID	 coupon_refund_id_$n_$m 否 String(20)  10000  退款代金券ID, $n为下标，$m为下标，从0开始编号 
	@FieldKey("coupon_refund_fee_$n_$m")
	private String coupon_refund_fee_$n_$m;//单个代金券退款金额 	coupon_refund_fee_$n_$m 否 Int 100 单个退款代金券支付金额, $n为下标，$m为下标，从0开始编号 
	@FieldKey("refund_status_$n")
	private String refund_status_$n;//退款状态     refund_status_$n 是 String(16) SUCCESS  退款状态：  SUCCESS—退款成功   REFUNDCLOSE—退款关闭。  PROCESSING—退款处理中   CHANGE—退款异常，退款到银行发现用户的卡作废或者冻结了，导致原路退款银行卡失败，可前往商户平台（pay.weixin.qq.com）-交易中心，手动处理此笔退款。$n为下标，从0开始编号。
	@FieldKey("refund_account_$n")
	private String refund_account_$n;//退款资金来源 	  refund_account_$n 否 String(30) REFUND_SOURCE_RECHARGE_FUNDS  REFUND_SOURCE_RECHARGE_FUNDS---可用余额退款/基本账户  REFUND_SOURCE_UNSETTLED_FUNDS---未结算资金退款  $n为下标，从0开始编号。
	@FieldKey("refund_recv_accout_$n")
	private String refund_recv_accout_$n;//退款入账账户    	refund_recv_accout_$n 是 String(64) 招商银行信用卡0403 取当前退款单的退款入账方     1）退回银行卡： {银行名称}{卡类型}{卡尾号}    2）退回支付用户零钱: 支付用户零钱       3）退还商户: 商户基本账户    商户结算银行账户
	@FieldKey("refund_success_time_$n")
	private String refund_success_time_$n;//退款成功时间   	 refund_success_time_$n 否 String(20) 2016-07-25 15:26:26 退款成功时间，当退款状态为退款成功时有返回。$n为下标，从0开始编号。 
	
	
	
	public String getTransaction_id() {
		return transaction_id;
	}
	public void setTransaction_id(String transaction_id) {
		this.transaction_id = transaction_id;
	}
	public String getOut_trade_no() {
		return out_trade_no;
	}
	public void setOut_trade_no(String out_trade_no) {
		this.out_trade_no = out_trade_no;
	}
	public String getTotal_fee() {
		return total_fee;
	}
	public void setTotal_fee(String total_fee) {
		this.total_fee = total_fee;
	}
	public String getSettlement_total_fee() {
		return settlement_total_fee;
	}
	public void setSettlement_total_fee(String settlement_total_fee) {
		this.settlement_total_fee = settlement_total_fee;
	}
	public String getFee_type() {
		return fee_type;
	}
	public void setFee_type(String fee_type) {
		this.fee_type = fee_type;
	}
	public String getCash_fee() {
		return cash_fee;
	}
	public void setCash_fee(String cash_fee) {
		this.cash_fee = cash_fee;
	}
	public String getRefund_count() {
		return refund_count;
	}
	public void setRefund_count(String refund_count) {
		this.refund_count = refund_count;
	}
	public String getOut_refund_no_$n() {
		return out_refund_no_$n;
	}
	public void setOut_refund_no_$n(String out_refund_no_$n) {
		this.out_refund_no_$n = out_refund_no_$n;
	}
	public String getRefund_id_$n() {
		return refund_id_$n;
	}
	public void setRefund_id_$n(String refund_id_$n) {
		this.refund_id_$n = refund_id_$n;
	}
	public String getRefund_channel_$n() {
		return refund_channel_$n;
	}
	public void setRefund_channel_$n(String refund_channel_$n) {
		this.refund_channel_$n = refund_channel_$n;
	}
	public String getRefund_fee_$n() {
		return refund_fee_$n;
	}
	public void setRefund_fee_$n(String refund_fee_$n) {
		this.refund_fee_$n = refund_fee_$n;
	}
	public String getSettlement_refund_fee_$n() {
		return settlement_refund_fee_$n;
	}
	public void setSettlement_refund_fee_$n(String settlement_refund_fee_$n) {
		this.settlement_refund_fee_$n = settlement_refund_fee_$n;
	}
	public String getCoupon_type_$n() {
		return coupon_type_$n;
	}
	public void setCoupon_type_$n(String coupon_type_$n) {
		this.coupon_type_$n = coupon_type_$n;
	}
	public String getCoupon_refund_fee_$n() {
		return coupon_refund_fee_$n;
	}
	public void setCoupon_refund_fee_$n(String coupon_refund_fee_$n) {
		this.coupon_refund_fee_$n = coupon_refund_fee_$n;
	}
	public String getCoupon_refund_count_$n() {
		return coupon_refund_count_$n;
	}
	public void setCoupon_refund_count_$n(String coupon_refund_count_$n) {
		this.coupon_refund_count_$n = coupon_refund_count_$n;
	}
	public String getCoupon_refund_id_$n_$m() {
		return coupon_refund_id_$n_$m;
	}
	public void setCoupon_refund_id_$n_$m(String coupon_refund_id_$n_$m) {
		this.coupon_refund_id_$n_$m = coupon_refund_id_$n_$m;
	}
	public String getCoupon_refund_fee_$n_$m() {
		return coupon_refund_fee_$n_$m;
	}
	public void setCoupon_refund_fee_$n_$m(String coupon_refund_fee_$n_$m) {
		this.coupon_refund_fee_$n_$m = coupon_refund_fee_$n_$m;
	}
	public String getRefund_status_$n() {
		return refund_status_$n;
	}
	public void setRefund_status_$n(String refund_status_$n) {
		this.refund_status_$n = refund_status_$n;
	}
	public String getRefund_account_$n() {
		return refund_account_$n;
	}
	public void setRefund_account_$n(String refund_account_$n) {
		this.refund_account_$n = refund_account_$n;
	}
	public String getRefund_recv_accout_$n() {
		return refund_recv_accout_$n;
	}
	public void setRefund_recv_accout_$n(String refund_recv_accout_$n) {
		this.refund_recv_accout_$n = refund_recv_accout_$n;
	}
	public String getRefund_success_time_$n() {
		return refund_success_time_$n;
	}
	public void setRefund_success_time_$n(String refund_success_time_$n) {
		this.refund_success_time_$n = refund_success_time_$n;
	}
	@Override
	public String toString() {
		return "RefundQueryResponse [transaction_id=" + transaction_id
				+ ", out_trade_no=" + out_trade_no + ", total_fee=" + total_fee
				+ ", settlement_total_fee=" + settlement_total_fee
				+ ", fee_type=" + fee_type + ", cash_fee=" + cash_fee
				+ ", refund_count=" + refund_count + ", out_refund_no_$n="
				+ out_refund_no_$n + ", refund_id_$n=" + refund_id_$n
				+ ", refund_channel_$n=" + refund_channel_$n
				+ ", refund_fee_$n=" + refund_fee_$n
				+ ", settlement_refund_fee_$n=" + settlement_refund_fee_$n
				+ ", coupon_type_$n=" + coupon_type_$n
				+ ", coupon_refund_fee_$n=" + coupon_refund_fee_$n
				+ ", coupon_refund_count_$n=" + coupon_refund_count_$n
				+ ", coupon_refund_id_$n_$m=" + coupon_refund_id_$n_$m
				+ ", coupon_refund_fee_$n_$m=" + coupon_refund_fee_$n_$m
				+ ", refund_status_$n=" + refund_status_$n
				+ ", refund_account_$n=" + refund_account_$n
				+ ", refund_recv_accout_$n=" + refund_recv_accout_$n
				+ ", refund_success_time_$n=" + refund_success_time_$n
				+ ", toString()=" + super.toString() + "]";
	}
	

}
